<!DOCTYPE html>
<style>
    canvas {
        width: 10px;
        height: 10px;
        image-rendering: pixelated;
    }
    img {
        width: 10px;
        height: 10px;
        image-rendering: pixelated;
    }
    svg {
        width: 10px;
        height: 10px;
    }
    image {
        image-rendering: pixelated;
    }
</style>
<body>
    <!-- The output should be checkerboards all 20x20 with sharp 2x2 blocks and no blurring. -->
    <!-- FIXME: this test is a little too small to visually inspect for blurring. Should we make the test larger and more accessible? -->
    <canvas width="10" height="10"></canvas>
    <img src="resources/pixelated-hdpi.png">
    <svg><image width="10" height="10" xlink:href="resources/pixelated-hdpi.png"/></svg>
</body>
<script>
    function drawImageToCanvas() {
        var image = document.getElementsByTagName("img")[0];
        var canvas = document.getElementsByTagName("canvas")[0].getContext("2d");
        canvas.drawImage(image, 0, 0);
    }

    function runTest() {
        if (!window.testRunner)
            return;

        // Ignore the render tree.
        testRunner.dumpAsTextWithPixelResults();

        testRunner.waitUntilDone();
        testRunner.setBackingScaleFactor(2, function () {
            drawImageToCanvas();
            testRunner.notifyDone();
        });
    }

    window.onload = runTest;
</script>